Gather data

Clone repo


In [9]:
export PATH=$PWD/../bin:$PATH




In [1]:
git clone https://github.com/allegro/marathon-consul


Cloning into 'marathon-consul'...
remote: Counting objects: 779, done.
remote: Total 779 (delta 0), reused 0 (delta 0), pack-reused 779
Receiving objects: 100% (779/779), 163.05 KiB | 0 bytes/s, done.
Resolving deltas: 100% (446/446), done.
Checking connectivity... done.

Generate logfile with git


In [2]:
cd marathon-consul




In [20]:
git log --pretty=format:'[%h] %an %ad %s' --date=short --numstat > ../evo.log && cd ..




In [21]:
head evo.log


[032eedd] janisz 2015-12-17 Merge pull request #17 from allegro/destringify
[f303aee] Tomasz Janiszewski 2015-12-16 Create alias types for Id
3	7	.travis.yml
1	1	apps/app.go
5	4	consul/consul.go
9	7	consul/consul_stub.go
2	8	consul/services.go
4	3	events/events.go
7	6	events/task_health_change.go
7	7	marathon/marathon.go

In [23]:
types=( \
  "abs-churn" \
  "age" \
  "author-churn" \
  "authors" \
  "communication" \
  "coupling" \
  "entity-churn" \
  "entity-effort" \
  "entity-ownership" \
  "fragmentation" \
  "identity" \
  "main-dev" \
  "main-dev-by-revs" \
  "messages" \
  "refactoring-main-dev" \
  "revisions" \
  "soc" \
  "summary" \
)

for type in "${types[@]}"; do
  ../bin/code-maat evo.log -l evo.log -c git -a $type > $type.csv 
done;


WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update
WARNING: update already refers to: #'clojure.core/update in namespace: incanter.core, being replaced by: #'incanter.core/update